From 1e4d11b99565df6f7be95e874f2661244c9de52c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Wed, 5 Jul 2017 11:09:27 +0200 Subject: [PATCH] box: Ignore baselines when vertical For now. --- gtk/gtkbox.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index d71aa48b80..86a9ba55f9 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -385,7 +385,7 @@ gtk_box_size_allocate_no_center (GtkWidget *widget, gint minimum_above, natural_above; gint minimum_below, natural_below; gboolean have_baseline; - gint baseline; + int baseline = -1; GtkPackType packing; @@ -522,7 +522,7 @@ gtk_box_size_allocate_no_center (GtkWidget *widget, sizes[i].natural_size = child_size; if (private->orientation == GTK_ORIENTATION_HORIZONTAL && - gtk_widget_get_valign (child->widget) == GTK_ALIGN_BASELINE) + gtk_widget_get_valign (child->widget) == GTK_ALIGN_BASELINE) { int child_allocation_width; int child_minimum_height, child_natural_height; @@ -550,7 +550,11 @@ gtk_box_size_allocate_no_center (GtkWidget *widget, } } - baseline = gtk_widget_get_allocated_baseline (widget); + if (private->orientation == GTK_ORIENTATION_HORIZONTAL) + baseline = gtk_widget_get_allocated_baseline (widget); + + /* we only calculate our own baseline if we don't get one passed from the parent + * and any of the child widgets explicitly request one */ if (baseline == -1 && have_baseline) { gint height = MAX (1, allocation->height); -- 2.30.2